import { ResultType } from '@/types/result'
import { get, post, patch, $delete } from '@/utils/httpUtil'

/**
  数据查询接口，针对单一对象的crud操作，接口RESTful API设计
 */


/**
 * 查询列表
 * @param url 请求路径
 * @param params 参数 参数包含 pageCurrent,pageSize 表示使用分页 
 * @returns 
 */
export function listApi(url: string, params: Record<string, unknown>): Promise<ResultType> {
  return get(url, params)
}

/**
 * 查询数据信息
 * @param url 请求路径 /aaa/bb/{id} 
 * @returns 
 */
export function infoApi(url: string): Promise<ResultType> {
  return get(url)
}

/**
 * 保存数据
 * @param url 请求路径
 * @param params 
 * @returns 
 */
export function saveApi(url: string, params: Record<string, unknown>): Promise<ResultType>{
  return post(url, params)
}

/**
 * 修改数据
 * @param url 请求路径
 * @param params 
 * @returns 
 */
 export function updateApi(url: string, params: Record<string, unknown>): Promise<ResultType>{
  return patch(url, params)
}


/**
 * 删除单条数据
 * @param modelName 模型名称
 * @param params 
 * @returns 
 */
export function removeApi(url: string): Promise<ResultType> {
  return $delete(url)
}

